<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>获取二维码</title>
</head>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script>

    function getCodeImg(){
        $("#codeImg").empty();
        var xmlhttp;
        xmlhttp=new XMLHttpRequest();
        xmlhttp.open("GET",getCreateCodeImgsPath,true);
        xmlhttp.responseType = "blob";
        xmlhttp.onload = function(){
            console.log(this);
            uuid = this.getResponseHeader("uuid");
            if (this.status == 200) {
                var blob = this.response;
                var img = document.createElement("img");
                img.className = 'qrCodeBox-img';
                img.onload = function(e) {
                    window.URL.revokeObjectURL(img.src);
                };
                img.src = window.URL.createObjectURL(blob);
                document.getElementById("codeImg").appendChild(img);
                //获取二维码之后打开websocket
                initWebSocket();
            }
        }
        xmlhttp.send();
    }

    var getCreateCodeImgsPath="http://localhost:8011/createImg";

    var socket;
    function initWebSocket() {
        if(typeof(WebSocket) == "undefined") {
            console.log("您的浏览器不支持WebSocket");
        }else{
            console.log("您的浏览器支持WebSocket");
            //实现化WebSocket对象，指定要连接的服务器地址与端口  建立连接
            //等同于socket = new WebSocket("ws://localhost:8888/xxxx/im/25");
            //var socketUrl="${request.contextPath}/im/"+$("#userId").val();
            var socketUrl="http://localhost:8011/userInfo/"+uuid;
            socketUrl=socketUrl.replace("https","ws").replace("http","ws");
            console.log(socketUrl);
            if(socket!=null){
                socket.close();
                socket=null;
            }
            socket = new WebSocket(socketUrl);
            //打开事件
            socket.onopen = function() {
                console.log("websocket已打开");
               // socket.send("这是来自客户端的消息" + location.href + new Date());
            };
            //获得消息事件
            socket.onmessage = function(msg) {
                debugger
                   window.sessionStorage.uuid = uuid;
                   window.location.href = "http://localhost:8011/saoMiaoCaodeImg?uuId="+uuid;
                //发现消息进入    开始处理前端触发逻辑
            };
            //关闭事件
            socket.onclose = function() {
                console.log("websocket已关闭");
            };
            //发生了错误事件
            socket.onerror = function() {
                console.log("websocket发生了错误");
            }
        }
    }

</script>
<body>
    <h2>二维码</h2>
    <div><a onclick="getCodeImg()">获取登录二维码</a></div>
    <div id="codeImg"></div>
</body>

</html>
